import functools
from flask import jsonify
from model.unify import Unify


# 异常拦截
def unify_result(func):
    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        try:
            # 执行函数
            result = func(*args, **kwargs)
            # 打印调试信息（生产环境中建议使用日志代替）
            return jsonify(Unify.ok(result))  # 返回成功的响应
        except Exception as e:
            # 捕获异常并返回失败响应，包含错误消息
            error_message = str(e)
            return jsonify(Unify.fail(error_message)), 500  # 返回 500 错误

    return wrapper


class MyException(Exception):
    pass
